Requirements - aware Systems for Self - adaptation under Uncertainty Research
نویسنده
چکیده
The development of software-intensive systems is driven by their requirements. Traditional requirements engineering (RE) methods focus on resolving ambiguities in requirements and advocate specifying requirements in sufficient detail so that the implementation can be checked against them for conformance. In an ideal world, this way of thinking can be very effective. Requirements can be specified clearly, updated as necessary, and evolutions of the software design can be made with the requirements in mind. Increasingly, however, it is not sufficient to fix requirements statically because they will change at runtime as the operating environment changes. Furthermore, as software systems become more pervasive, there is growing uncertainty about the environment and so requirements changes cannot be predicted at design-time [12, 24, 39, 1, 20]. It is considerations such as these that have led to the development of self-adaptive systems (SASs) [11], which have the ability to dynamically and autonomously reconfigure their behavior to respond to changing external conditions. Consider a scenario involving a robot vacuum cleaner for domestic apartments. The vacuum cleaner has goals clean apartment, avoid tripping hazard and minimize energy costs. Further, it has the domain assumption energy is cheapest at night. To satisfy the avoid tripping hazard goal, a requirement is derived that it should stop operating as soon as any human activity is detected. Night operation satisfies the minimize energy costs goal. Thus all the goals are satisfiable, with no trade-offs necessary. In operation, the sound of the cleaner awakens a light sleeper. In the dark, they trip over the now stopped and therefore silent cleaner. Key features of this scenario are:
منابع مشابه
Quality-aware Approach for Engineering Self-adaptive Software Systems
Self-adaptivity allows software systems to autonomously adjust their behavior during run-time to reduce the cost complexities caused by manual maintenance. In this paper, an approach for building an external adaptation engine for self-adaptive software systems is proposed. In order to improve the quality of selfadaptive software systems, this research addresses two challenges in self-adaptive s...
متن کاملA Framework for Enhancing Performance and Handling Run-Time Uncertainty in Self-Adaptive Systems
Self-adaptivity allows software systems to autonomously adjust their behavior during run-time to reduce the cost complexities caused by manual maintenance. In this paper, a framework for building an external adaptation engine for self-adaptive software systems is proposed. In order to improve the quality of selfadaptive software systems, this research addresses two challenges in self-adaptive s...
متن کاملA Classification Framework of Uncertainty in Architecture-Based Self- Adaptive Systems with Multiple Quality Requirements
Context: The underlying uncertainty in self-adaptive systems aggravates the complexity of selecting best adaptation action alternative, and handling requirements trade-offs. To efficiently tackle uncertainty, it is necessary to have a comprehensive overview of different types of uncertainty and their specifications. Objective: In this paper we aim at a) reviewing the state-of-the-art of archite...
متن کاملUnderstanding Requirement Engineering for Context-Aware Service-Based Applications
Requirements of software systems tend to change over time. The speed of this tendency depends on the application domain the software system under consideration belongs to. If we consider novel contexts such as pervasive systems and systems supporting dynamic B2B interaction, requirements change so fast that the research community is studying how to build systems that are able to self-adapt on t...
متن کاملUncertainty in Self-Adaptive Software Systems
The ever-growing complexity of software systems coupled with their stringent availability requirements are challenging the manual management of software after its deployment. This has motivated the development of self-adaptive software systems. Self-adaptation endows a software system with the ability to satisfy certain objectives by automatically modifying its behavior at runtime. While many p...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013